package com.usefullc.crawler.query;

import com.usefullc.common.enums.QueryExpressTypeEnum;
import com.usefullc.common.enums.ValidTypeEnum;
import com.usefullc.system.query.BaseQuery;
import com.usefullc.system.validator.UsefulPropertyVerify;
import com.usefullc.system.service.component.extend.UsefulQueryField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 爬虫活动查询实体
 * @author: 星空
 * @date: 2022-07-27
 */
@ApiModel
@Data
public class ActiveQuery extends BaseQuery {

//useful_auto_generate_section_start

    @UsefulQueryField()
    @UsefulPropertyVerify()
    @ApiModelProperty(notes = "模板")
    private Long templateId;

    @UsefulQueryField()
    @UsefulPropertyVerify(minLen=1, maxLen=50)
    @ApiModelProperty(notes = "名称")
    private String name;

    @UsefulQueryField()
    @UsefulPropertyVerify(min=-2147483648, max=2147483647)
    @ApiModelProperty(notes = "请求类型")
    private Integer requestType;

    @UsefulQueryField()
    @UsefulPropertyVerify(minLen=1, maxLen=255)
    @ApiModelProperty(notes = "请求方法")
    private String method;

    @UsefulQueryField()
    @UsefulPropertyVerify(min=-2147483648, max=2147483647)
    @ApiModelProperty(notes = "状态")
    private Integer status;

    @UsefulQueryField()
    @UsefulPropertyVerify(min=-2147483648, max=2147483647)
    @ApiModelProperty(notes = "序号")
    private Integer orderNo;

    @UsefulQueryField(type = QueryExpressTypeEnum.LIKE, columnName = "url")
    @UsefulPropertyVerify(minLen=1, maxLen=500)
    @ApiModelProperty(notes = "请求url")
    private String urlLike;

    @UsefulQueryField()
    @UsefulPropertyVerify(minLen=2, maxLen=200)
    @ApiModelProperty(notes = "等待css选择表达式")
    private String waitCssSelectorExpress;

    @UsefulQueryField()
    @UsefulPropertyVerify(minLen=2, maxLen=10)
    @ApiModelProperty(notes = "selenium驱动类型(chrome；firefox; edge")
    private String webDriverType;


//useful_auto_generate_section_end


    @UsefulQueryField(columnName = "orderNo",type = QueryExpressTypeEnum.GT)
    @UsefulPropertyVerify(min=-2147483648, max=2147483647)
    @ApiModelProperty(notes = "序号")
    private Integer orderNoGt;

}
